package com.zshan.clinic.admin.entity.medical.rx.base;

import com.zshan.clinic.admin.entity.vo.StockDrugProfileDetailVo;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 处方中药明细
 * @author lichen
 */
@Data
public class RxTcmDetail extends StockDrugProfileDetailVo {

    /** 剂量;10g；中药不需要支持小数 */
    private BigDecimal dosage;

    /** 剂量单位 取药品的PackUnit字段，显示的value：取字典接口中key为UNIT并且unitType=1的数据*/
    /**
     *
     * 单次用量单位;片
     * 取数逻辑：1.先获取药品的min_pack_unit
     *          2.然后用药品的min_pack_unit取字典接口中key为UNIT并且unitType=1并且unitCode=min_pack_unit的数据
     *          3.传给接口的为数据中的unitCode字段，前端显示的为数据中的unitText字段
     * */
    private String dosageUnit;

    /**
     * 单次用量单位中文
     */
    private String dosageUnitText;

    /**
     * 煎药方法 decotionMethodEnum
     */
    private String decotionMethod;

    /**
     * 出库量=总剂数*每剂的数量（ 一共5剂，每剂10g要出库50g）
     * 详解：外边的实体中计算出来的totalDoses*dosage
     * */
    private Integer totalOutQty;

    /**
     *
     * 出库量单位;片
     * 取数逻辑：1.根据药品的isSplit字段如果为1取minPackUnit如果为0取packUnit，意思就是能拆开卖出库就是按片出，不能拆开卖就是按整盒出
     *          2.然后用药品的minPackUnit(或者packUnit)取字典接口中key为UNIT并且unitType=1并且unitCode=min_pack_unit的数据
     *          3.传给接口的为数据中的unitCode字段，前端显示的为数据中的unitText字段
     * */
    private String totalOutQtyUnit;


    /**
     * 出库量单位中文
     */
    private String totalOutQtyUnitText;

    /**
     * 小计=价格*总出库量
     * 详解：药品的price*totalOutQty
     * */
    private Integer subtotal;
}
